package main

import "fmt"

func main() {
	m := map[string]int{}
	//添加元素
	m["Answer"] = 42
	m["Question"] = 99
	//删除元素，类似php中的unset
	delete(m, "Answer")

	//删除一个不存在的元素，也不会报错
	delete(m, "bbb")

	//访问一个不存在的key，并不会报错，而是返回value的零值，在本例中，就是0
	r := m["aaa"]
	fmt.Println(r)//0

	//那如何判断一个key是否存在呢？
	//其实字典的下标读取可以返回两个值，使用第二个返回值都表示对应的 key 是否存在，若存在ok为true，若不存在，则ok为false
	//通过双赋值，来检查元素是否存在
	v, ok := m["Question"] //存在
	fmt.Println("The value :", v, "Present?", ok)

	v, ok = m["aaa"] //不存在
	fmt.Println("The value :", v, "Present?", ok)

}
